From aeb550ffd7961c265c3926225a14769dfc40029b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 14 Dec 2011 06:32:13 -0500 Subject: [PATCH] Plugman: Find the plugins menu in a better way Now that GtkBuilder finds named submenus, there's no need for the clumsy menumodel navigation anymore. --- examples/plugman.c | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/examples/plugman.c b/examples/plugman.c index e9b6249155..ee49a172ef 100644 --- a/examples/plugman.c +++ b/examples/plugman.c @@ -187,30 +187,7 @@ plugin_enabled (const gchar *name) static GMenuModel * find_plugin_menu (void) { - GMenuModel *menubar; - GMenuModel *menu; - gint i, j; - const gchar *label, *id; - - menubar = g_application_get_menubar (g_application_get_default ()); - for (i = 0; i < g_menu_model_get_n_items (menubar); i++) - { - if (g_menu_model_get_item_attribute (menubar, i, "label", "s", &label) && - g_strcmp0 (label, "_Edit") == 0) - { - menu = g_menu_model_get_item_link (menubar, i, "submenu"); - for (j = 0; j < g_menu_model_get_n_items (menu); j++) - { - if (g_menu_model_get_item_attribute (menu, j, "id", "s", &id) && - g_strcmp0 (id, "plugins") == 0) - { - return g_menu_model_get_item_link (menu, j, "section"); - } - } - } - } - - return NULL; + return (GMenuModel*) g_object_get_data (G_OBJECT (g_application_get_default ()), "plugin-menu"); } static void @@ -425,8 +402,8 @@ plug_man_startup (GApplication *application) " " " " " " - "
" - "
" + " " + " " "
" " " "
" @@ -440,6 +417,7 @@ plug_man_startup (GApplication *application) "", -1, NULL); g_application_set_app_menu (application, G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"))); g_application_set_menubar (application, G_MENU_MODEL (gtk_builder_get_object (builder, "menubar"))); + g_object_set_data_full (G_OBJECT (application), "plugin-menu", gtk_builder_get_object (builder, "plugins"), g_object_unref); g_object_unref (builder); } -- 2.30.2